package com.irdstudio.efp.console.service.dao;

import java.util.List;

import com.irdstudio.efp.console.service.domain.GrantAuthDetail;
import com.irdstudio.efp.console.service.domain.GrantAuthInfo;
import com.irdstudio.efp.console.service.vo.GrantAuthDetailVO;
import com.irdstudio.efp.console.service.vo.GrantAuthInfoVO;
/**
 * <p>DAO interface:授权管理配置表				<p>
 * @author fuzm
 * @date 2018-05-07
 */
public interface GrantAuthInfoDao {
	
	public int insertGrantAuthInfo(GrantAuthInfo grantAuthInfo);

	
	public int deleteByPk(GrantAuthInfo grantAuthInfo);
	
	public int updateByPk(GrantAuthInfo grantAuthInfo);
	
	public int updateByCommit(GrantAuthInfo grantAuthInfo);
	
	public int updateByStatus(GrantAuthInfo grantAuthInfo);
	
	public GrantAuthInfo queryByPk(GrantAuthInfo grantAuthInfo);
	
	public List<GrantAuthInfo> queryAllOwnerByPage(GrantAuthInfoVO grantAuthInfo);
	
	public List<GrantAuthInfo> queryAllCurrOrgByPage(GrantAuthInfoVO grantAuthInfo);
	
	public List<GrantAuthInfo> queryAllCurrDownOrgByPage(GrantAuthInfoVO grantAuthInfo);
	
	
	//授权明细接口
	public int insertGrantAuthDetail(GrantAuthDetail grantAuthDetail);
	
	public int deleteByDetailId(GrantAuthDetail grantAuthDetail);
	
	public int deleteByGrantNo(GrantAuthDetail grantAuthDetail);

	
	public int updateByDetailId(GrantAuthDetail grantAuthDetail);
	
	public GrantAuthDetail queryByDetailId(GrantAuthDetail grantAuthDetail);
	/**
	 * 根据授权对象查询条数
	 * @param grantAuthDetail
	 * @return
	 */
	public  int queryByGrantVal(GrantAuthDetail grantAuthDetail);
	/**
	 * 
	 * @param grantAuthDetail
	 * @return
	 */
	public  List<GrantAuthDetail> queryByGrantValAndGrantNo(GrantAuthDetailVO grantAuthDetail);
	
	public List<GrantAuthDetail> queryAllDetailOwnerByPage(GrantAuthDetailVO grantAuthDetail);
	
	public List<GrantAuthDetail> queryAllDetailCurrOrgByPage(GrantAuthDetailVO grantAuthDetail);
	
	public List<GrantAuthDetail> queryAllDetailCurrDownOrgByPage(GrantAuthDetailVO grantAuthDetail);
	
	public List<GrantAuthDetail> queryByGrantNo(GrantAuthDetailVO grantAuthDetailVo);
	/**
	 * 查询全部明细信息
	 * @param grantAuthDetailVo
	 * @return
	 */
	public List<GrantAuthDetail> queryAllGrantDetail(GrantAuthDetailVO grantAuthDetailVo);
}
